iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 12
1
DevOps

Kubernetes and Istio 三十天系列 第 12

[Day12] How to use Istio?

  • 分享至 

  • xImage
  •  

What is Istio

What is Istio

Run Istio

之前就有稍微提到在K3d的環境下安裝Istio,因此我們就依照先前所建立的環境開始後面的講解,Istio使用了sidecar pattern,因此我們必須先學會如何設定Sidecar Injection。

Sidecar Injection

sidecar在Kubernetes有分為Automatic Sidecar Injection或者是Manual Sidecar Injection

Automatic Sidecar Injection

Istio中的Automatic是利用Kubernetes Admission Controllers MutatingAdmissionWebhook

做法就是對Kubernetes Namespace下一個Label


 kubectl label namespace <Your_Example Namespace> istio-injection=enabled

kubernetes label

這樣Istio-sidecar-injector,就會將default sidecar proxy policy以及template建立起來,所以你在進行Deployment的部署,同時Istio會建立一個init-container Envoy Proxy。

kubectl apply --namespace=<Your_Example Namespace> samples/bookinfo/platform/kube/bookinfo.yaml

kubernetes pods

這邊被Automatic建立出來的Pod都會呈現2/2,這是因為istio-sidecar-injector,幫我們多建立一個init-container Envoy Proxy。

Manual Sidecar Injection

Manual Sidecar Injection就必須依靠 istioctl kube-inject,也就是必須利用istioctl CLI工具去進行進一步的設定,當初覺得還要多維護一套Injection方式就沒有選擇這個方案,不過有興趣的可以參考這邊

結語

當我們建立好服務,也將服務新增Sidecar Proxy,將服務也納管進Service Mesh,基本上到這邊都不會有什麼特別大的問題。但你如果有許多其他類型的應用,那你勢必還必須添加許多額外的Istio物件。基本的導入或者是應用都不會有太多的問題及困難,後面會開始介紹,加了Istio原先的Kubernetes服務需要改變什麼,以及有哪些Istio物件是必須添加的。


上一篇
[Day11] Istio Architecture Part III
下一篇
[Day13] Kubernetes And or VS Istio Service I
系列文
Kubernetes and Istio 三十天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言